package com.solidario.wrapping;

import sifeap.wrappers.asociados.VinculadoWrapper;

import com.solidario.accesodatos.impl.VinculadoAccesoDatos;
import com.solidario.entidades.Vinculado;

/**
 * Clase para llenar el Wrapper de vinculado
 *
 */
public class VinculadoWrapping {
	private VinculadoAccesoDatos vinculadoDatos;
	
	public VinculadoWrapping() {
		vinculadoDatos = new VinculadoAccesoDatos();
	}
	
	/**
	 * Metodo para obtener un Wrapper de un vinculado por cedula
	 * @param cedula
	 * @return Retorna la informacion en un Wrapper. Retorna <code>null</code> si el vinculado no existe.
	 */
	public VinculadoWrapper obtenerPorCedula(String cedula) {
        VinculadoWrapper vinculadoWp = null;
        
    	Vinculado vinculado = vinculadoDatos.buscar(cedula);
    	
    	if (vinculado == null)
    		return null;
   
		//Se utiliza en Wrapper para capturar todos los datos del vinculado
		vinculadoWp = new VinculadoWrapper();
		vinculadoWp.setCedula(vinculado.getVincedula());
		vinculadoWp.setCargo(vinculado.getCargo());
		vinculadoWp.setEstadoCivil(vinculado.getEstadocivil());
		vinculadoWp.setFechaNacimiento(vinculado.getFechanacimiento());
		vinculadoWp.setPersonasCargo(vinculado.getPersonascargo() != null ? vinculado.getPersonascargo().floatValue() : null);
		vinculadoWp.setSexo(vinculado.getSexo());
		vinculadoWp.setSueldoBasico(vinculado.getSueldobasico() != null ? vinculado.getSueldobasico().doubleValue(): null);
		vinculadoWp.setTiempoServicio(vinculado.getTiemposervicio() != null ? vinculado.getTiemposervicio().doubleValue(): null);
		vinculadoWp.setTipoContrato(vinculado.getTipocontrato());
		vinculadoWp.setPrimerApellido(vinculado.getVinapellido1());
		vinculadoWp.setSegundoApellido(vinculado.getVinapellido2());
		vinculadoWp.setDireccion(vinculado.getVindirecci());
		vinculadoWp.setEmail(vinculado.getVinemail());
		vinculadoWp.setPrimerNombre(vinculado.getVinnombre1());
		vinculadoWp.setSegundoNombre(vinculado.getVinnombre2());
		vinculadoWp.setTelefono(vinculado.getVintelefon());
		vinculadoWp.setTelefonoCelular(vinculado.getVintelefon2());
		vinculadoWp.setLugarExpedicionCedula(vinculado.getLugarExpedicion() != null ? vinculado.getLugarExpedicion().getCiunombre() : null);
		vinculadoWp.setCiudadNacimiento(vinculado.getCiudad1() != null ? vinculado.getCiudad1().getCiunombre() : null);
		
		return vinculadoWp;
	}
}
